Everything Totally Explained


Ask & we'll explain, totally!
Database transaction
Totally Explained


  NEW! All the latest news in the worlds of computer gaming, entertainment, the environment,  
finance, health, politics, science, stocks & shares, technology and much, much, more.  


View this entry using RSS

Everything about Database Transaction totally explained

A database transaction is a unit of work performed against a database management system or similar system that's treated in a coherent and reliable way independent of other transactions. A database transaction, by definition, must be atomic, consistent, isolated and durable. These properties of database transactions are often referred to by the acronym ACID. Transactions provide an "all-or-nothing" proposition stating that work units performed in a database must be completed in their entirety or take no effect whatsoever. Further, transactions must be isolated from other transactions, results must conform to existing constraints in the database and transactions that complete successfully must be committed to durable storage.
   In some systems, transactions are also called LUWs for Logical Units of Work.

Purpose of transaction

Databases and other data stores in which the integrity of data is paramount often include the ability to handle transactions to ensure the integrity of data is maintained. A single transaction is composed of one or more independent units of work, each reading and/or writing information to a database or other data store. When this happens it's often important to ensure that the database or data store is left in a consistent state.
   The concept of transactions are often demonstrated via double-entry accounting systems. In double-entry accounting every debit requires an associated credit be recorded. If you wrote a check for $100 to buy groceries at the local store a transactional double-entry accounting system would record the following two entries to cover the single transaction:
  1. Debit $100 to Groceries Expense Account
  2. Credit $100 to Checking Account
In a transactional system both entries would be made, or both entries would fail. By treating the recording of multiple entries as an atomic transactional unit of work you maintain the integrity of the data recorded. In other words, you won't end up with a situation in which a debit is recorded but no associated credit is recorded, or vice versa.

Transactional databases

Databases that support transactions are called transactional databases. Most modern relational database management systems fall into this category.
   In a database system a single transaction might be composed of one or more data manipulation statements and queries, each reading and/or writing information in the database. Consistency and integrity of data is considered highly important in database systems. A simple transaction is usually issued to the database system in a language like SQL wrapped in a transaction, using a pattern similar to the following:
  • Begin the transaction
  • Execute several data manipulations and queries
  • If no errors occur then commit the transaction
  • If errors occur then rollback the transaction If no errors occurred during the execution of the transaction the transaction is committed. A transaction commit operation applies all data manipulations within the scope of the transaction and persists the results to the database. If an error occurs during the transaction, or if the user specifies a rollback operation, the data manipulations within the transaction are not persisted to the database. In no case can a partial transaction be committed to the database since that would leave the database in an inconsistent state.

    In SQL

    A BEGIN WORK statement in SQL or, on some systems, any statement that will modify data, starts a transaction within a relational database management system (RDBMS).
       Any work done after this point won't be visible to other users, until a COMMIT statement is issued. A ROLLBACK statement can also be issued, which will undo any work performed since the BEGIN WORK command. Both COMMIT and ROLLBACK will end the transaction: another BEGIN WORK will need to be issued to start a new one.
       Some database systems allow the synonyms BEGIN and BEGIN TRANSACTION, and may have other options available.

    Distributed transactions

    Distributed transactions are implemented as transactions against multiple applications or hosts. A distributed transaction enforces the ACID properties over multiple systems or data stores, and might include systems such as databases, file systems, messaging systems, and other applications. In a distributed transaction a coordinating service ensures that all parts of the transaction are applied to all relevant systems. As with database and other transactions, if any part of the transaction fails, the entire transaction is rolled back across all affected systems.

    Transactional filesystems

    The Namesys Reiser4 filesystem for Linux (External Link) and the newest version of the Microsoft NTFS filesystem both support transactions (External Link), but file system transactions are rarely used in practice due to lack of compatibility with older systems.
       

    Further Information

    Get more info on 'Database Transaction'.


    External Link Exchanges

    Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:

      <a href="http://database_transaction.totallyexplained.com">Database transaction Totally Explained</a>

    Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
       As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned.



  • Copyright © 2007-8 totallyexplained.com | Licensed under the GNU Free Documentation License | Site Map
    This article contains text from the Wikipedia article Database transaction (History) and is released under the GFDL | RSS Version